home *** CD-ROM | disk | FTP | other *** search
/ PC World 2007 March / PCWorld_2007-03_cd.bin / v cisle / pcwkillall / pcwKillEmAll.exe / Tools / pcwKillUninstall.hta < prev   
Text File  |  2006-09-18  |  7KB  |  203 lines

  1. <HTML>
  2.  <HEAD>
  3.   <TITLE>Skript PC WORLDu pro odstran∞nφ slo₧ek pro odinstalovßnφ zßplat</TITLE>
  4.   <HTA:APPLICATION ID="hta3" 
  5.    APPLICATIONNAME="KillUninstall" 
  6.    BORDER = "normal"
  7.    CAPTION = "yes"
  8.    SHOWINTASKBAR = "yes"
  9.    SINGLEINSTANCE = "yes"
  10.    SYSMENU = "yes"
  11.    WINDOWSTATE = "normal"
  12.    SCROLL = "no"
  13.    SCROLLFLAT = "no"
  14.    VERSION = "1.0"
  15.    INNERBORDER = "no"
  16.    SELECTION = "no"
  17.    MAXIMIZEBUTTON = "no"
  18.    MINIMIZEBUTTON = "yes"
  19.    NAVIGABLE = "No"
  20.    CONTEXTMENU = "no"
  21.    BORDERSTYLE = "normal">
  22.    
  23.    <STYLE type="text/css">
  24.    
  25. body {    scrollbar-arrow-color: #000000;
  26.         font-family:Verdana;
  27.         font-style:normal;
  28.         font-size:12;
  29.         background-color:Buttonface}
  30.  
  31. .fading    {font-size:14px;
  32.         background-color:#003159;
  33.         color:white;width:400;
  34.         filter:Alpha(style=1, opacity=90, startx=83, finishx=86)
  35.  
  36.    </STYLE>
  37.    <SCRIPT LANGUAGE=vbscript>
  38.  
  39. '|--------------------------------------------------------------------------------------------------|'
  40.  
  41. Dim aSubKeys()
  42. Dim aSubFolder()
  43. Dim aCompRes()
  44. Set myshell = CreateObject("Wscript.Shell")
  45. Set MyFiles = CreateObject("Scripting.FileSystemObject")
  46. Set c = MyShell.Environment("PROCESS")
  47.     windir = c("systemroot")
  48. DeinstKey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
  49. LastKey="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Applets\Regedit\LastKey"
  50. const HKEY_LOCAL_MACHINE = &H80000002
  51.  
  52. '|--------------------------------------------------------------------------------------------------|'
  53.  
  54. Sub SubInitFenster
  55. Redim aCompRes(3, 0)
  56. GetKeyArray
  57. GetFolderArray
  58. z = 0
  59. for x = 0 to Ubound(aSubFolder, 2)
  60.     for y = 0 to Ubound(aSubKeys, 2)
  61.         if not instr(1, aSubKeys(1, y), aSubFolder(0, x), vbTextCompare) = 0 and not aSubFolder(0, x) = "" then
  62.             Redim Preserve aCompRes(3, z)
  63.             aCompRes(0, z) = aSubKeys(0, y) 'PodklφΦ
  64.             aCompRes(1, z) = aSubFolder(0, x) 'Podslo₧ka
  65.             aCompRes(2, z) = aSubKeys(2, y) 'URL pomocn²m odkazem
  66.             aCompRes(3, z) = aSubFolder(1, x) 'Velikost slo₧ky
  67.             z = z+1
  68.         end if
  69.     next
  70. next
  71. if  z=0 then
  72.     Liste = ""
  73.     FullSize = 0
  74.     FullNum = 0
  75. else
  76.     For z = 0 to Ubound(aCompRes, 2)
  77.         LoadList = "<DIV ID=ColorSelR" & z & " Title=" & chr(34) & aCompRes(0, z) & Chr(34) & "><INPUT type=checkbox name=SelReg" & z & " Title=" & chr(34) & aCompRes(0, z) & chr(34) & " onClick=" & Chr(34) & "SubShowRes" & Chr(34) & "><a href=" & aCompRes(2, z) & " target=_blank>" & "Patch-ID: " & aCompRes(0, z) & "</a> --> velikost je asi " & Round(aCompRes(3, z)/1048576, 2) & " MB</DIV>"
  78.         Liste = Liste & LoadList
  79.         Fullsize = Fullsize + aCompRes(3, z)
  80.     next
  81.     Fullsize = Round(Fullsize/1048576, 2)
  82.     FullNum = z
  83. end if
  84. text = " 'Uninstall' slo₧ek nalezeno<BR> Celkovß velikost je asi <B>" & Fullsize & "</B> MB"
  85. document.all.tableRegKey.innerHTML = Liste
  86.  
  87. document.all.tableSum.innerHTML = "<DIV ID=Counter Title=" & Ubound(aCompRes, 2)  & "> " & Fullnum & text & "</DIV>"
  88.  
  89. window.resizeTo 417, 420
  90. End Sub
  91. '|--------------------------------------------------------------------------------------------------|'
  92. Sub GetKeyArray()
  93. on error resume next
  94. Redim aSubKeys(2, 0)
  95. Set wmi=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
  96. sKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
  97. wmi.EnumKey HKEY_LOCAL_MACHINE,sKeyPath,AllKeys
  98. m = 0
  99. For Each subkey In AllKeys
  100.     Redim Preserve aSubKeys(2, m)
  101.     wmi.GetStringValue HKEY_LOCAL_MACHINE,sKeyPath & "\" & subkey,"UninstallString",UninstallStr
  102.     HelpLink = MyShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & subkey & "\HelpLink")
  103.     aSubKeys(0, m) = subkey
  104.     aSubKeys(1, m) = UninstallStr
  105.     aSubKeys(2, m) = HelpLink
  106.     m = m+1        
  107. Next
  108. End Sub
  109.  
  110. '|--------------------------------------------------------------------------------------------------|'
  111.  
  112. Sub GetFolderArray()
  113. Redim aSubFolder(1, 0)
  114. set SysFold = MyFiles.GetFolder(Windir) 
  115. set SysSubs=Sysfold.SubFolders
  116. n=0
  117. For each SysSub in SysSubs
  118.     SubName=SysSub.Name
  119.     If Left(SubName, 1) = "$" then
  120.         SubSize=SysSub.Size
  121.         Redim Preserve aSubFolder(1, n) 
  122.         aSubFolder(0, n) = Subname
  123.         aSubFolder(1, n) = SubSize
  124.         n = n+1
  125.     end if
  126. next
  127. End Sub
  128.     
  129. '|--------------------------------------------------------------------------------------------------|'
  130. Sub SubShowRes
  131. on error resume next
  132. m = 0 
  133. zahl = document.all.Item("Counter").Title
  134. do
  135.     If document.all.Item("SelReg"& m).Checked Then
  136.         document.all.Item("SelReg" & m).style.backgroundColor="salmon"
  137.         document.all.Item("ColorSelR" & m).style.backgroundColor="salmon"
  138.     Else
  139.         document.all.Item("SelReg" & m).style.backgroundColor=""
  140.         document.all.Item("ColorSelR" & m).style.backgroundColor=""
  141.     End If
  142.     m = m+1
  143. loop until zahl - m = -1
  144. End Sub
  145.  
  146. '|--------------------------------------------------------------------------------------------------|'
  147. Sub SubDelSel
  148. on error resume next
  149. z = 0 
  150. zahl = document.all.Item("Counter").Title
  151. do
  152.     If document.all.Item("SelReg"& z).Checked Then
  153.         ret = MyFiles.Deletefolder(Windir & "\" & aCompRes(1, z), True)
  154.         ret = MyShell.Regdelete(DeinstKey & aCompRes(0, z) & "\")
  155.         LogFile= Windir & "\" & aCompRes(0, z) & ".log"
  156.         If MyFiles.FileExists(LogFile) Then MyFiles.DeleteFile LogFile,true 
  157.     End If
  158.     z = z+1
  159. loop until zahl - z = -1
  160. SubInitFenster
  161. End Sub
  162. '|--------------------------------------------------------------------------------------------------|'
  163. Sub SubDelAll
  164. z = 0 
  165. zahl = document.all.Item("Counter").Title
  166. do
  167.     document.all.Item("SelReg"& z).Checked = True
  168.     z = z+1
  169. loop until zahl - z = -1
  170. SubShowRes
  171. ret = Msgbox("Majφ se skuteΦn∞ u vÜech nalezen²ch zßplat odebrat vÜechny slo₧ky pro odinstalovßnφ zßplat a vÜechny zßznamy v registru, kterΘ k nim pat°φ?", vbYesNo+vbExclamation, "Odstranit vÜechny") 
  172. if ret = vbNo then 
  173.     z = 0
  174.     do
  175.         document.all.Item("SelReg"& z).Checked = False
  176.         z = z+1
  177.     loop until zahl - z = -1
  178.     SubShowRes
  179. else
  180.     SubDelSel
  181. end if
  182. SubInitFenster
  183. end Sub
  184. '|--------------------------------------------------------------------------------------------------|'
  185. Sub SubQuit
  186. Set myshell = Nothing
  187. Set myfiles = Nothing
  188. Window.Close
  189. End Sub
  190. '|--------------------------------------------------------------------------------------------------|'
  191. </SCRIPT>
  192.   </HEAD>
  193.    <BODY onload="SubInitFenster" scroll="no">
  194.    <DIV ID=tableRegKey style="position:relative; top:0px; left:0px; width:390px; height:270px; overflow-y:auto"></DIV>
  195.    <HR style=" & Chr(34) & "height:5px; color:black" & Chr(34) &">
  196.    <DIV ID=tableSum></DIV>
  197.    <HR style=" & Chr(34) & "height:5px; color:black" & Chr(34) &">
  198.    <INPUT Type=button value="Odstranit oznaΦenΘ" name=killsel size=102 onClick="SubDelSel">
  199.    <INPUT Type=button value="Odstranit vÜechny" name=killall size=102 onClick="SubDelAll">
  200.    <INPUT Type=button value="Konec" name=htaquit size=52 onClick="SubQuit"></BR>
  201.  </BODY>
  202. </HTML>
  203.